home *** CD-ROM | disk | FTP | other *** search
-
- Listing 7
- **********
-
- #include <ctype.h>
- #include <stdio.h>
-
- #define TRUE 1
- #define FALSE 0
-
- int get_line(char *text_in, int size_text_in);
- int put_line(char *text_out, int size_text_out);
-
- void main()
- {
-
- #define SIZE_TEXT 1024
- char text[SIZE_TEXT];
- int size;
- int spaces;
- size = get_line(text, SIZE_TEXT);
- spaces = put_line(text, size);
- printf ("Sentence is %d \n", size);
- printf ("And has %d spaces in it\n", spaces);
- }
-
- int get_line(text_in, size_text_in)
- /* Gets a line of text and returns number of characters
- (not counting newline) */
- char *text_in ; /* Where to put the input text */
- int size_text_in; /* Size of text_in */
- {
- int ret;
- char *cret;
-
- printf ("Enter Text : ");
-
- cret = fgets(text_in, size_text_in, stdout);
- if (cret !=NULL)
- ret = strlen(text_in) - 1;
- else
- ret = - 1;
-
- return ret;
- }
-
- put_line(text_out, size_text_out)
- /* This outputs a line of text with the first letter of each word
- upper-cased */
- char *text_out; /* Text to output */
- int size_text_out; /* Size of text */
- {
- int i;
- int print_as_uppercase;
- char chr;
- int spaces;
-
- print_as_uppercase = TRUE;
- spaces = 0;
-
- printf ("Text is : ");
-
- for (i = 0; i < size_text_out; i++)
- {
- chr = text_out[i];
- if (print_as_uppercase)
- {
- printf("%c",toupper(chr));
- print_as_uppercase = FALSE;
- }
- else
- {
- printf("%c",tolower(chr));
- }
- if (isspace(chr))
- {
- print_as_uppercase = TRUE;
- spaces++;
- }
- if (chr == '.' || chr == ',')
- print_as_uppercase = TRUE;
- }
- printf("\n");
- return spaces;
- }
-
- ********
-